1. Field of the Invention
The present invention relates to information processing apparatuses, information processing methods, and programs. In particular, the present invention relates to an information processing apparatus that transmits to equipment a program for dynamically interrupting another program with its processing. Also, the present invention relates to an information processing method and a program used for the information processing apparatus.
2. Description of the Related Art
Up until now, as a general operation for analyzing a failure (such as debugging) in a program that operates particularly in embedded equipment, etc., a log output from the program is analyzed. In other words, in various parts of the source code of the program are embedded the value of a variable used by the program and instructions (e.g., the printf function in the C language) for outputting information indicating the status of hardware where the program operates, etc., to a log file. Therefore, if a failure occurs, a log file output according to such an instruction (hereinafter referred to as a “log output instruction”) is analyzed to estimate or specify a reason of the failure.
However, when specific analysis is performed using the log file output (first-output log file) according to the embedded log output instruction, the log file is often insufficient as information. In this case, a part causing a failure is specified to some extent based on the first-output log file. Then, in order to output a more specific log on parts around the part causing the failure involved, the source code of the program is corrected. After the compilation and linkage of the source code, the program is replaced. If a reason cannot be specified by a subsequently-output log file, another log output instruction is embedded in the source code and the above operations are repeatedly performed. Thus, when a failure is analyzed based on a log, very complicated operations are required as occasion demands.
A known technology for dealing with this problem includes dynamically interrupting any part (diagnostic part) of an operating program with the processing of a diagnostic program (at its execution). With the diagnostic program, the value of the variable of a program to be diagnosed, etc., can be referred to. When the processing of the diagnostic program is completed, the processing is returned to the part of the program to be diagnosed in which the diagnostic program has interrupted. This technology makes it possible to output the log of the program to be diagnosed using the diagnostic program without correcting the source code of the program to be diagnosed. Since the source code can be dynamically corrected with this technology, changes in the behavior of the program as well as the diagnostic program for debugging enable the addition of a new function to the program and the correction of bugs.
However, in case that one function is extended or one bug is corrected, plural additional programs may be required. In this case, if there is a deficiency in any part of the plural additional programs, the object of extending the function, correcting the bug, etc., may not be successful and a stable operation of a program to be applied may not be guaranteed.                Patent Document 1: JP-A-2008-269163        